Design Patterns | Factory Design Pattern | What, Why And How